#include <QApplication>
#include <QTreeView>
#include <QStandardItemModel>
#include <QStandardItem>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QTreeView treeView;
    treeView.setWindowTitle("公司部门结构");

    // 模型
    QStandardItemModel model;
    QStandardItem *root = model.invisibleRootItem();

    // 一级部门
    QStandardItem *dept1 = new QStandardItem("技术部");
    QStandardItem *dept2 = new QStandardItem("市场部");

    // 技术部子部门
    dept1->appendRow(new QStandardItem("前端组"));
    dept1->appendRow(new QStandardItem("后端组"));

    // 市场部子部门
    dept2->appendRow(new QStandardItem("广告组"));
    dept2->appendRow(new QStandardItem("渠道组"));

    root->appendRow(dept1);
    root->appendRow(dept2);

    model.setHorizontalHeaderLabels({"部门名称"});
    treeView.setModel(&model);
    treeView.expandAll(); // 展开全部
    treeView.resize(300, 400);
    treeView.show();

    return app.exec();
}
